<ul class="box " id="startTarget">
    <script type="text/html" id='menuData'>
    <li title="{{:#data['showName']}}">
        <p class="{{:~showClose(#data,#index)}} flex-a" data-status="{{:#data['isOutResource']}}" data-dbcode="{{:#data['dbCode']}}"><label class="check"></label><label class="text"> {{:#data['showName']}}</label></p>
        <!-- 二级列表 -->
        <ul class="children" style="display: none;">
            <!-- 外部资源 -->
            {{if isOutResource}}
            {{for resourceList}}
            <li title="{{:#data['showName']}}">
                <p class="textAll flex-a" data-classifyCode="{{:#data['classifyCode']}}" data-dbcode="{{:#data['dbCode']}}"><label  class="check"></label><label class="text"> {{:#data['showName']}}</label></p>
            </li>
            {{/for}}
            {{else}}
            {{for resourceList}}
            <li>
                <p class="textAll flex-a" data-dbcode="{{:#data['classifyCode']}}" ><label  class="check" ></label><label class="text"> {{:#data['showName']}}</label></p>
            </li title="{{:#data['showName']}}">
            {{/for}}
            {{/if}}
        </ul>

    </li>
    </script>
</ul>
<script>
    //请求一次
    $('.box').click(function (e) {
        if ($(e.target).hasClass('close')) {
            $(e.target).toggleClass('open')
            if ($(e.target).next('ul').css('display') == 'none') {
                // 展开
                $(e.target).siblings('ul').slideDown(100).children('li');
            } else {
                //折叠
                $(e.target).siblings('ul').slideUp(100);
                // 显示箭头
            }
        }
        else if ($(e.target).hasClass('text')) {
            $('.asideMenu>.box .check').removeClass('check').addClass('nocheck');
            $('.asideMenu>.box .gray').removeClass('gray');
            $(e.target).parent('p').addClass('gray');
            checkedStatus($(e.target).siblings('label'))
            // 调用检索
            getClickData();

        }
        else if ($(e.target).hasClass('textAll')) {
            // 先取消所有勾选项
            $('.asideMenu>.box .gray').removeClass('gray');
            $('.asideMenu>.box .check').removeClass('check').addClass('nocheck');
            $(e.target).addClass('gray');
            checkedStatus($(e.target).children('label').eq(0))
            // 调用检索
            getClickData();

        }
        else if ($(e.target).hasClass('check')) {
            checkedStatus($(e.target))
        } else if ($(e.target).hasClass('nocheck')) {
            checkedStatus($(e.target))
        }
    })
    function getClickData() {
        clearSort();
        // $('.tbHeader button').eq(0).addClass('clickBottom');
        // 清空高级检索 ie8不支持默认参数
        postTableData.conditionSql = '';
        postTableData.beginDate = "";
        postTableData.endDate = "";
        postTableData.limitData = '';
        postTableData.page = 1;
        // 清除排序
        postTableData.orderBySort = "",
            postTableData.orderByValue = "",
            //清除高级检索的在结果中检索
            lastAdvancedSearchStr = '';
        postTableData.searchKeyWord = '';
        postTableData.searchValue = '';
        postTableData.standConditionBoList = getMenu();
        pageData.tableData(config.complexSearch, postTableData, 'knowledgeTableData', 'test1', true, '#KnowledgeMention', render(), true, callBackPage);
    }
    // 子元素被选中
    function checkedStatus(t) {
        if ($(t).hasClass('check')) {
            $(t).toggleClass('check');
            $(t).toggleClass('nocheck');
            $(t).parent('p').next('ul').find('.check').each(function (index, item) {
                // 所有子节点
                $(item).removeClass('check').addClass('nocheck');
            })
        } else if ($(t).hasClass('nocheck')) {
            // input选中
            $(t).addClass('check').removeClass('nocheck');
            // 所有子节点
            $(t).parent('p').next('ul').find('.nocheck').each(function (index, item) {
                $(item).addClass('check').removeClass('nocheck');
            })
        }
        var checkLength = $(t).parents('.children').find('.check').length;
        var nocheckLength = $(t).parents('.children').find('.nocheck').length;
        var length = $(t).parents('.children').find('li').length;
        if (nocheckLength == length) {
            // 父级不选中
            $(t).parents('.children').siblings('p').children('label').eq(0).addClass('nocheck').removeClass('check');
        } else if (!!checkLength || checkLength == length) {
            // 父级选中
            $(t).parents('.children').siblings('p').children('label').eq(0).addClass('check').removeClass('nocheck');
        }
    }
</script>